Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт
Предмет:
Методи та засоби криптографічних перетворень
Група:
ІБ – 44

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  ЗВІТ ДО ЛАБОРАТОРНОЇ РОБОТИ № 2 З КУРСУ “ Методи та засоби криптологічних перетворень” АФІННІ ШИФРИ Мета роботи: Написати программу для шифрування методом зсуву к – го порядку забезпечення введеня стрічки і ключа з клавіатури і виведення шифрованої і дешифрованої стрічки на екран Функції і класи Encrypt(string strToEncrypt, string key)– шифрує стррчку strToEncrypt, ключем key Decrypt(string strToDecrypt, string key) – дешифрує стррчку strToDecrypt, ключем key parseStringToBlocks(string lStringToParse, int lSize) – розбиває стрічку lStringToParse на блоки розміру lSize formValidate – здійснює валідацію форми – повертає true – якшо пройдена, інакше – false AlphabetManager – абстрактний клас, менеджер який оперує алфавітами – повертає довжину алфавіту, числове представлення за символом і символ за числовим представленням EnglishAlphabetManager – конкретна реалізація AlphabetManager, представляє латиницю Alpha – класс який представляє символ, складається з символа і його числового відображення RandomNumberGenerator – системний клас, що повертає випадковим чином згенеровану послідовність байтів. Текст программи using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Security.Cryptography; namespace WindowsFormsApplication1 { public partial class Form1 : Form { #region Fields AlphabetManager alManager = new EnglishAlphabetManager(); #endregion #region Events public Form1() { InitializeComponent(); } private void btnEncrypt_Click(object sender, EventArgs e) { if (this.formValidate()) { string result = Encrypt(this.tbxTextToCrypt.Text, this.tbxKey.Text); this.tbxResultText.Text = result; } } private void btnDecrypt_Click(object sender, EventArgs e) { if (this.formValidate()) { string result = Decrypt(this.tbxTextToCrypt.Text, this.tbxKey.Text); this.tbxResultText.Text = result; } } private void btnClear_Click(object sender, EventArgs e) { tbxKey.Text = String.Empty; tbxTextToCrypt.Text = String.Empty; tbxResultText.Text = String.Empty; } private void Form1_Load(object sender, EventArgs e) { } #endregion #region Public Methods private string Encrypt(string strToEncrypt, string key) { StringBuilder result = new StringBuilder(); AlphabetManager alManager = new EnglishAlphabetManager(); strToEncrypt = strToEncrypt.ToLower(); List<string> strBlocks = parseStringToBlocks(strToEncrypt, key.Length); foreach (string block in strBlocks) { for (int i = 0; i < key.Length; i++) { int cryptNum = alManager.GetNumberByChar(block[i]) + alManager.GetNumberByChar(key[i]); char encryptedChar = alManager.GetSymbolByNumber(cryptNum); result.Append(encryptedChar); } } return result.ToString(); } private string Decrypt(string strToDecrypt, string key) { StringBuilder result = new StringBuilder(); AlphabetManager alManager = new EnglishAlphabetManager(); strToDecrypt = strToDecrypt.ToLower(); List<string> strBlocks = parseStringToBlocks(strToDecrypt, key.Length); foreach (string block in strBlocks) { for (int i = 0; i < key.Length; i++) {...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини